Various types of hand-held bar code readers have been developed for many applications. These include wands, fixed beam, moving beam, linear CCD (charge coupled device), and two dimensional CCD readers. All examples of the prior art hand held bar code readers suffer from a variety of drawbacks.
Wands, fixed beam, and moving beam readers all operate using the same basic principal. Typically, a small spot of light is directed from a source of illumination to the surface of the bar code and is swept across the entire length of the bar code (i.e. a scan line). The intensity of the reflected light from the beam is modulated by the bar code pattern. The reflected light is gathered by optics and focused on an optical detector which converts light intensity to an analog electrical signal. The analog signal is then thresholded to a binary value of zero, representing the black bars or one, representing the white spaces.
Moving beam readers direct an LED or laser beam in a repetitive linear (i.e. one-dimensional) scanning pattern using rotating or vibrating mirrors and lenses. These readers eliminate the need for manual scanning or sweeping of the code. A moving beam reader typically scans at about 40 scans per second, allowing multiple tries on a bar code. Multiple scans provides a better chance to get a valid read on a bar code with minimal damage, however the readers must get a complete valid scan (i.e. cut through all of the bars in one sweep) in order to decode a bar code. Typical operating range of moving beam readers is about one foot. Moving beam readers will not read damaged, poorly printed, height modulated, or true two dimensional codes.
Another type of moving beam scanner is known as a raster laser scanner. The raster scan is produced by modulating the beam in the vertical direction in addition.sup.t to the traditional horizontal linear scan described above. The main reason for this raster scan is to enable reading of stacked codes such as Symbol Technologies' PDF417. However, even these raster scan readers still suffer from many of the same drawbacks of the previously described hand-held readers, namely the need for orienting the reader with the bar code (non-omnidirectionality), difficulty reading damaged or poorly printed codes, and the inability to read true two dimensional bar codes.
Linear CCD readers eliminate the need for mechanically sweeping a beam across bar codes, but require a bright source of illumination. Linear CCD readers capture a one dimensional image of the bar code and read out the information as an electrical signal which is similar to the output of wand, fixed, or moving beam readers. Linear CCD readers typically have an extremely small depth of field of and are usually limited to reading bar codes shorter than the width of the CCD reader head (typically less than 3 inches). Linear CCD readers will not read damaged, poorly printed, height modulated, or true two dimensional codes.
Two dimensional (2D) CCD readers capture and process a two dimensional image of a bar code. These readers are capable of omnidirectionally reading conventional, damaged, multiple, height modulated, or stacked bar codes symbols along with true two dimensional codes (MaxiCode, PDF417, DataMatrix, etc.). However, 2D CCD readers do not perform well over long ranges, and require a separate means for aiming. Economical 2D CCD readers have a limited number of pixels forcing a tradeoff between sample density and coverage width. High sample density is required to read bar codes with very small module size. As sample density increases, coverage width decreases, reducing the maximum length bar code that can be read. Therefore a compromise must be made between sample density and coverage width. Moving beam readers do not suffer from this drawback.